package tpoo.common.services;


import java.net.InetAddress;
import java.util.Date;
import java.util.List;

import tpoo.common.dto.model.exception.users.FailedLoginException;
import tpoo.common.dto.model.users.UserDTO;
import tpoo.common.dto.model.users.status.Presence;

public interface UserService extends Service{

	UserDTO login(String user, String passwd, InetAddress ip, Integer port) throws FailedLoginException;
	void logout(UserDTO user);
	
	//devuelve el tiempo de logueado en Minutos
	Float getuptime(UserDTO user);
	
	void changeStatus(UserDTO user, Presence presence);
	
	void sendMessage(UserDTO from, UserDTO to, String message);
	
	void addContact(UserDTO user, String contact);
	
	List<UserDTO> getContacts(UserDTO user);
	
}
